package org.small.shop.phone.api.process.goods.pojo;

import java.math.BigDecimal;
import java.util.List;

import javax.persistence.*;

import org.apache.commons.lang3.StringUtils;
import org.small.shop.phone.api.process.goodsappraises.pojo.TblWxGoodsAppraisesVo;
import org.small.shop.phone.api.process.goodsku.pojo.TblWxGoodSku;

@Table(name = "tbl_wx_goods")
public class TblWxGoods {
	/**
	 * 商品id
	 */
	@Id
	@Column(name = "goods_id")
	private Integer goodsId;

	/**
	 * 分类
	 */
	@Column(name = "cate_id")
	private Integer cateId;

	/**
	 * 商品品牌
	 */
	@Column(name = "brand_id")
	private Integer brandId;

	/**
	 * 商品图片
	 */
	@Column(name = "goods_img")
	private String goodsImg;

	/**
	 * 商品名称
	 */
	@Column(name = "goods_name")
	private String goodsName;

	/**
	 * 商品编号
	 */
	@Column(name = "goods_sn")
	private String goodsSn;

	/**
	 * 商品编号
	 */
	@Column(name = "goods_num")
	private String goodsNum;

	/**
	 * 商品SEO关键字
	 */
	@Column(name = "goods_keysword")
	private String goodsKeysword;

	/**
	 * 市场价
	 */
	@Column(name = "goods_marketPrice")
	private BigDecimal goodsMarketprice;

	/**
	 * 门店价
	 */
	@Column(name = "goods_shopPrice")
	private BigDecimal goodsShopprice;

	/**
	 * 商品总库存
	 */
	@Column(name = "goods_stock")
	private Integer goodsStock;

	/**
	 * 预警库存
	 */
	@Column(name = "goods_warn_stock")
	private Integer goodsWarnStock;

	/**
	 * 商品基础单位
	 */
	@Column(name = "goods_unit")
	private String goodsUnit;

	/**
	 * 商品重量
	 */
	@Column(name = "goods_weight")
	private Double goodsWeight;

	/**
	 * 商品促销信息
	 */
	@Column(name = "goods_tips")
	private String goodsTips;

	/**
	 * 访问量
	 */
	@Column(name = "goods_pv")
	private Integer goodsPv;

	/**
	 * 是否是网红创意
	 */
	@Column(name = "goods_originality")
	private Integer goodsOrity;

	/**
	 * 是否热销产品
	 */
	@Column(name = "goods_hot")
	private Integer goodsHot;

	/**
	 * 是否审核
	 */
	@Column(name = "goods_check")
	private Integer goodsCheck;

	/**
	 * 是否推荐
	 */
	@Column(name = "goods_isRecom")
	private Integer goodsIsrecom;

	/**
	 * 是否上架
	 */
	@Column(name = "goods_isSale")
	private Integer goodsIssale;

	/**
	 * 总销售量
	 */
	@Column(name = "goods_saleNum")
	private Integer goodsSalenum;

	/**
	 * 商品分类ID路径，catId1_catId2_catId3
	 */
	@Column(name = "goods_catIdPath")
	private String goodsCatidpath;

	/**
	 * 商品创建时间
	 */
	@Column(name = "goods_create_time")
	private Long goodsCreateTime;

	/**
	 * 商品修改时间
	 */
	@Column(name = "goods_update_time")
	private Long goodsUpdateTime;

	/**
	 * 是否使用快递（1:使用快递，2同城配送，3:上门取货）
	 */
	@Column(name = "goods_isfreight")
	private Integer goodsIsfreight;

	/**
	 * 商品状态
	 */
	@Column(name = "goods_status")
	private Integer goodsStatus;

	/**
	 * 快递模板
	 */
	@Column(name = "goods_freight_tempid")
	private Integer goodsFreightTempid;

	/**
	 * 商品相册
	 */
	@Column(name = "goods_gallery")
	private String goodsGallery;

	private String[] goodsGallerys;

	/**
	 * 商品描述
	 */
	@Column(name = "goods_desc")
	private String goodsDesc;

	private String[] goodsDescs;

	private List<TblWxGoodSku> skuList;

	private List<TblWxGoodsAppraisesVo> appraiseList;

	private Integer totalApprs;

	/**
	 * 获取商品id
	 *
	 * @return goods_id - 商品id
	 */
	public Integer getGoodsId() {
		return goodsId;
	}

	/**
	 * 设置商品id
	 *
	 * @param goodsId 商品id
	 */
	public void setGoodsId(Integer goodsId) {
		this.goodsId = goodsId;
	}

	/**
	 * 获取分类
	 *
	 * @return cate_id - 分类
	 */
	public Integer getCateId() {
		return cateId;
	}

	/**
	 * 设置分类
	 *
	 * @param cateId 分类
	 */
	public void setCateId(Integer cateId) {
		this.cateId = cateId;
	}

	/**
	 * 获取å•†å“å“ç‰Œid
	 *
	 * @return brand_id - å•†å“å“ç‰Œid
	 */
	public Integer getBrandId() {
		return brandId;
	}

	/**
	 * 设置å•†å“å“ç‰Œid
	 *
	 * @param brandId å•†å“å“ç‰Œid
	 */
	public void setBrandId(Integer brandId) {
		this.brandId = brandId;
	}

	/**
	 * 获取商品图片
	 *
	 * @return goods_img - 商品图片
	 */
	public String getGoodsImg() {
		return goodsImg;
	}

	/**
	 * 设置商品图片
	 *
	 * @param goodsImg 商品图片
	 */
	public void setGoodsImg(String goodsImg) {
		this.goodsImg = goodsImg;
	}

	/**
	 * 获取å•†å“åç§°
	 *
	 * @return goods_name - å•†å“åç§°
	 */
	public String getGoodsName() {
		return goodsName;
	}

	/**
	 * 设置å•†å“åç§°
	 *
	 * @param goodsName å•†å“åç§°
	 */
	public void setGoodsName(String goodsName) {
		this.goodsName = goodsName;
	}

	/**
	 * 获取商品编号
	 *
	 * @return goods_sn - 商品编号
	 */
	public String getGoodsSn() {
		return goodsSn;
	}

	/**
	 * 设置商品编号
	 *
	 * @param goodsSn 商品编号
	 */
	public void setGoodsSn(String goodsSn) {
		this.goodsSn = goodsSn;
	}

	/**
	 * 获取商品编号
	 *
	 * @return goods_num - 商品编号
	 */
	public String getGoodsNum() {
		return goodsNum;
	}

	/**
	 * 设置商品编号
	 *
	 * @param goodsNum 商品编号
	 */
	public void setGoodsNum(String goodsNum) {
		this.goodsNum = goodsNum;
	}

	/**
	 * 获取商品SEO关键字
	 *
	 * @return goods_keysword - 商品SEO关键字
	 */
	public String getGoodsKeysword() {
		return goodsKeysword;
	}

	/**
	 * 设置商品SEO关键字
	 *
	 * @param goodsKeysword 商品SEO关键字
	 */
	public void setGoodsKeysword(String goodsKeysword) {
		this.goodsKeysword = goodsKeysword;
	}

	/**
	 * 获取市场价
	 *
	 * @return goods_marketPrice - 市场价
	 */
	public BigDecimal getGoodsMarketprice() {
		return goodsMarketprice;
	}

	/**
	 * 设置市场价
	 *
	 * @param goodsMarketprice 市场价
	 */
	public void setGoodsMarketprice(BigDecimal goodsMarketprice) {
		this.goodsMarketprice = goodsMarketprice;
	}

	/**
	 * 获取门店价
	 *
	 * @return goods_shopPrice - 门店价
	 */
	public BigDecimal getGoodsShopprice() {
		return goodsShopprice;
	}

	/**
	 * 设置门店价
	 *
	 * @param goodsShopprice 门店价
	 */
	public void setGoodsShopprice(BigDecimal goodsShopprice) {
		this.goodsShopprice = goodsShopprice;
	}

	/**
	 * 获取商品总库存
	 *
	 * @return goods_stock - 商品总库存
	 */
	public Integer getGoodsStock() {
		return goodsStock;
	}

	/**
	 * 设置商品总库存
	 *
	 * @param goodsStock 商品总库存
	 */
	public void setGoodsStock(Integer goodsStock) {
		this.goodsStock = goodsStock;
	}

	/**
	 * 获取预警库存
	 *
	 * @return goods_warn_stock - 预警库存
	 */
	public Integer getGoodsWarnStock() {
		return goodsWarnStock;
	}

	/**
	 * 设置预警库存
	 *
	 * @param goodsWarnStock 预警库存
	 */
	public void setGoodsWarnStock(Integer goodsWarnStock) {
		this.goodsWarnStock = goodsWarnStock;
	}

	/**
	 * 获取商品基础单位
	 *
	 * @return goods_unit - 商品基础单位
	 */
	public String getGoodsUnit() {
		return goodsUnit;
	}

	/**
	 * 设置商品基础单位
	 *
	 * @param goodsUnit 商品基础单位
	 */
	public void setGoodsUnit(String goodsUnit) {
		this.goodsUnit = goodsUnit;
	}

	/**
	 * 获取商品重量
	 *
	 * @return goods_weight - 商品重量
	 */
	public Double getGoodsWeight() {
		return goodsWeight;
	}

	/**
	 * 设置商品重量
	 *
	 * @param goodsWeight 商品重量
	 */
	public void setGoodsWeight(Double goodsWeight) {
		this.goodsWeight = goodsWeight;
	}

	/**
	 * 获取商品促销信息
	 *
	 * @return goods_tips - 商品促销信息
	 */
	public String getGoodsTips() {
		return goodsTips;
	}

	/**
	 * 设置商品促销信息
	 *
	 * @param goodsTips 商品促销信息
	 */
	public void setGoodsTips(String goodsTips) {
		this.goodsTips = goodsTips;
	}

	/**
	 * 获取访问量
	 *
	 * @return goods_pv - 访问量
	 */
	public Integer getGoodsPv() {
		return goodsPv;
	}

	/**
	 * 设置访问量
	 *
	 * @param goodsPv 访问量
	 */
	public void setGoodsPv(Integer goodsPv) {
		this.goodsPv = goodsPv;
	}

	/**
	 * 获取是否是网红创意
	 *
	 * @return goods_originality - 是否是网红创意
	 */
	public void setGoodsOrity(Integer goodsOrity) {
		this.goodsOrity = goodsOrity;
	}

	/**
	 * 设置是否是网红创意
	 *
	 * @param goodsOriginality 是否是网红创意
	 */

	public Integer getGoodsOrity() {
		return goodsOrity;
	}

	/**
	 * 获取是否热销产品
	 *
	 * @return goods_hot - 是否热销产品
	 */
	public Integer getGoodsHot() {
		return goodsHot;
	}

	/**
	 * 设置是否热销产品
	 *
	 * @param goodsHot 是否热销产品
	 */
	public void setGoodsHot(Integer goodsHot) {
		this.goodsHot = goodsHot;
	}

	/**
	 * 获取是否审核
	 *
	 * @return goods_check - 是否审核
	 */
	public Integer getGoodsCheck() {
		return goodsCheck;
	}

	/**
	 * 设置是否审核
	 *
	 * @param goodsCheck 是否审核
	 */
	public void setGoodsCheck(Integer goodsCheck) {
		this.goodsCheck = goodsCheck;
	}

	/**
	 * 获取是否推荐
	 *
	 * @return goods_isRecom - 是否推荐
	 */
	public Integer getGoodsIsrecom() {
		return goodsIsrecom;
	}

	/**
	 * 设置是否推荐
	 *
	 * @param goodsIsrecom 是否推荐
	 */
	public void setGoodsIsrecom(Integer goodsIsrecom) {
		this.goodsIsrecom = goodsIsrecom;
	}

	/**
	 * 获取是否上架
	 *
	 * @return goods_isSale - 是否上架
	 */
	public Integer getGoodsIssale() {
		return goodsIssale;
	}

	/**
	 * 设置是否上架
	 *
	 * @param goodsIssale 是否上架
	 */
	public void setGoodsIssale(Integer goodsIssale) {
		this.goodsIssale = goodsIssale;
	}

	/**
	 * 获取总销售量
	 *
	 * @return goods_saleNum - 总销售量
	 */
	public Integer getGoodsSalenum() {
		return goodsSalenum;
	}

	/**
	 * 设置总销售量
	 *
	 * @param goodsSalenum 总销售量
	 */
	public void setGoodsSalenum(Integer goodsSalenum) {
		this.goodsSalenum = goodsSalenum;
	}

	/**
	 * 获取商品分类ID路径，catId1_catId2_catId3
	 *
	 * @return goods_catIdPath - 商品分类ID路径，catId1_catId2_catId3
	 */
	public String getGoodsCatidpath() {
		return goodsCatidpath;
	}

	/**
	 * 设置商品分类ID路径，catId1_catId2_catId3
	 *
	 * @param goodsCatidpath 商品分类ID路径，catId1_catId2_catId3
	 */
	public void setGoodsCatidpath(String goodsCatidpath) {
		this.goodsCatidpath = goodsCatidpath;
	}

	/**
	 * 获取商品创建时间
	 *
	 * @return goods_create_time - 商品创建时间
	 */
	public Long getGoodsCreateTime() {
		return goodsCreateTime;
	}

	/**
	 * 设置商品创建时间
	 *
	 * @param goodsCreateTime 商品创建时间
	 */
	public void setGoodsCreateTime(Long goodsCreateTime) {
		this.goodsCreateTime = goodsCreateTime;
	}

	/**
	 * 获取商品修改时间
	 *
	 * @return goods_update_time - 商品修改时间
	 */
	public Long getGoodsUpdateTime() {
		return goodsUpdateTime;
	}

	/**
	 * 设置商品修改时间
	 *
	 * @param goodsUpdateTime 商品修改时间
	 */
	public void setGoodsUpdateTime(Long goodsUpdateTime) {
		this.goodsUpdateTime = goodsUpdateTime;
	}

	/**
	 * 获取是否使用快递（1:使用快递，2同城配送，3:上门取货）
	 *
	 * @return goods_isfreight - 是否使用快递（1:使用快递，2同城配送，3:上门取货）
	 */
	public Integer getGoodsIsfreight() {
		return goodsIsfreight;
	}

	/**
	 * 设置是否使用快递（1:使用快递，2同城配送，3:上门取货）
	 *
	 * @param goodsIsfreight 是否使用快递（1:使用快递，2同城配送，3:上门取货）
	 */
	public void setGoodsIsfreight(Integer goodsIsfreight) {
		this.goodsIsfreight = goodsIsfreight;
	}

	/**
	 * 获取商品状态
	 *
	 * @return goods_status - 商品状态
	 */
	public Integer getGoodsStatus() {
		return goodsStatus;
	}

	/**
	 * 设置商品状态
	 *
	 * @param goodsStatus 商品状态
	 */
	public void setGoodsStatus(Integer goodsStatus) {
		this.goodsStatus = goodsStatus;
	}

	/**
	 * 获取快递模板
	 *
	 * @return goods_freight_tempid - 快递模板
	 */
	public Integer getGoodsFreightTempid() {
		return goodsFreightTempid;
	}

	/**
	 * 设置快递模板
	 *
	 * @param goodsFreightTempid 快递模板
	 */
	public void setGoodsFreightTempid(Integer goodsFreightTempid) {
		this.goodsFreightTempid = goodsFreightTempid;
	}

	/**
	 * 获取商品相册
	 *
	 * @return goods_gallery - 商品相册
	 */
	public String getGoodsGallery() {
		return goodsGallery;
	}

	/**
	 * 设置商品相册
	 *
	 * @param goodsGallery 商品相册
	 */
	public void setGoodsGallery(String goodsGallery) {
		if (!StringUtils.isEmpty(goodsGallery)) {
			this.goodsGallerys = goodsGallery.split(",");
		}
		this.goodsGallery = goodsGallery;
	}

	/**
	 * 获取商品描述
	 *
	 * @return goods_desc - 商品描述
	 */
	public String getGoodsDesc() {
		return goodsDesc;
	}

	/**
	 * 设置商品描述
	 *
	 * @param goodsDesc 商品描述
	 */
	public void setGoodsDesc(String goodsDesc) {
		if (!StringUtils.isEmpty(goodsDesc)) {
			this.goodsDescs = goodsDesc.split(",");
		}
		this.goodsDesc = goodsDesc;
	}

	public String[] getGoodsGallerys() {
		return goodsGallerys;
	}

	public void setGoodsGallerys(String[] goodsGallerys) {
		this.goodsGallerys = goodsGallerys;
	}

	public String[] getGoodsDescs() {
		return goodsDescs;
	}

	public void setGoodsDescs(String[] goodsDescs) {
		this.goodsDescs = goodsDescs;
	}

	public List<TblWxGoodSku> getSkuList() {
		return skuList;
	}

	public void setSkuList(List<TblWxGoodSku> skuList) {
		this.skuList = skuList;
	}

	public List<TblWxGoodsAppraisesVo> getAppraiseList() {
		return appraiseList;
	}

	public void setAppraiseList(List<TblWxGoodsAppraisesVo> appraiseList) {
		this.appraiseList = appraiseList;
	}

	public Integer getTotalApprs() {
		return totalApprs;
	}

	public void setTotalApprs(Integer totalApprs) {
		this.totalApprs = totalApprs;
	}

}